<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        
    </style>
</head>
<body>
    
</body>
<script>

    // 规范
    Object.prototype.sayHello = function(){
        console.log(`我叫${this.name}，今年${this.age}`)
    }

    function createPeople(n, a){
        // 创建了一个人
        var p = {};
        p.name = n;
        p.age = a;
        return p;
    }
    var p1 = createPeople("张三", 19);
    var p2 = createPeople("李四", 18);
    var p3 = createPeople("王二", 20);

    console.log(p1)
    console.log(p2)
    console.log(p3)
    
    console.log(p3 === p1);
    console.log(p2 === p1);
    console.log(p2 === p3);

    p1.sayHello();
    p2.sayHello();
    p3.sayHello();

    console.log(p1.sayHello === p2.sayHello);
    console.log(p3.sayHello === p2.sayHello);

    // 将一个具体的事物的特征抽象出来，封装之后，是对象

    // 将多个对象的相同特征再次抽象成类，类中涵盖了多个对象的相同特点

    // 抽象的类用来创建具体的对象，具体的对象是一种具体事物的描述，也叫实例

    // 类和实例的关系
    //     类是实例的抽象
    //     实例时类的具象



</script>
</html>